package br.com.eventime.entity;

import java.io.Serializable;
import javax.persistence.*;

import br.com.eventime.component.BaseEntity;

import java.util.Date;


/**
 * The persistent class for the tipo_pagamento database table.
 * 
 */
@Entity
@Table(name="tipo_pagamento")
@NamedQueries({
	@NamedQuery(name = "TipoPagamento.findByCodeOrDesc", query = "SELECT tp FROM TipoPagamento AS tp WHERE tp.codigo = :codigo OR tp.descricao LIKE :descricao ORDER BY tp.codigo"),
	@NamedQuery(name = "TipoPagamento.findAll", query = "SELECT tp FROM TipoPagamento AS tp ORDER BY tp.codigo") })

public class TipoPagamento implements Serializable,BaseEntity<Integer> {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Integer codigo;

    @Temporal( TemporalType.DATE)
	@Column(name="data_alteracao")
	private Date dataAlteracao;

    @Temporal( TemporalType.DATE)
	@Column(name="data_inclusao")
	private Date dataInclusao;

	private String descricao;

	private String situacao;

	//uni-directional many-to-one association to Usuario
    @ManyToOne
	@JoinColumn(name="usuario_inclusao")
	private Usuario usuarioInclusao;

	//uni-directional many-to-one association to Usuario
    @ManyToOne
	@JoinColumn(name="usuario_alteracao")
	private Usuario usuarioAlteracao;

    public TipoPagamento() {
    }

	public Integer getCodigo() {
		return this.codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	public Date getDataAlteracao() {
		return this.dataAlteracao;
	}

	public void setDataAlteracao(Date dataAlteracao) {
		this.dataAlteracao = dataAlteracao;
	}

	public Date getDataInclusao() {
		return this.dataInclusao;
	}

	public void setDataInclusao(Date dataInclusao) {
		this.dataInclusao = dataInclusao;
	}

	public String getDescricao() {
		return this.descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getSituacao() {
		return this.situacao;
	}

	public void setSituacao(String situacao) {
		this.situacao = situacao;
	}

	public Usuario getUsuarioInclusao() {
		return this.usuarioInclusao;
	}

	public void setUsuarioInclusao(Usuario usuarioInclusao) {
		this.usuarioInclusao = usuarioInclusao;
	}
	
	public Usuario getUsuarioAlteracao() {
		return this.usuarioAlteracao;
	}

	public void setUsuarioAlteracao(Usuario usuarioAlteracao) {
		this.usuarioAlteracao = usuarioAlteracao;
	}

	@Override
	@Transient
	public Integer getIdentificador() {
		return getCodigo();
	}
	
}